<?php

/**
 * Validateur qui vérifie si le user n'existe pas déjà dans la base de données 
 */
class ZendTremplin_Validate_UserInscription extends Zend_Validate_Abstract {
    const INVALID = 'userInvalid';
    const EXISTS = 'userExists';

     /**
     * Définition des messages d'erreurs
     *
     * @var array
     */
    protected $_messageTemplates = array(
        self::INVALID => "Invalid type given. String expected",
        self::EXISTS => "This user name already exists",
    );
    
    
    public function isValid($value) {        
        if(!is_string($value)) {
            $this->_error(self::INVALID);
            return false;
        }
        $this->_setValue($value);
        
        $mapper = new ZendTremplin_Model_UserMapper();
        if($mapper->isPresentLogin($value)) {
            $this->_error(self::EXISTS);
            return false;
        }
        return true;
    }
}

?>
